/**
 * Copyright (C) 2012-2013 jumei, Inc.
 * ServicePipeLine.java
 * 2015年6月23日
 */
package org.goface.rpc.pipeline;

import java.util.concurrent.ExecutorService;

import org.goface.rpc.MessageContext;

/**
 * @author jm110
 */
public interface ServicePipeLine {

    void fireSendRequest(MessageContext request) throws Throwable;

    void fireSendResponse(MessageContext response) throws Throwable;

    void fireReceiveRequest(MessageContext request) throws Throwable;

    void fireReceiveResponse(MessageContext response) throws Throwable;
    void fireException(Throwable th);

    void addLast(ServiceHandler handler);

    void addFirst(ServiceHandler handler);
    ExecutorService getExecutor();
    void desdroy();

}
